一探究竟之main函数
本文作者:王思雨,中南财经政法大学金融学院
本文编辑:胡艺粼
技术总编:孙一博
Stata and Python 数据分析
爬虫俱乐部Stata基础课程、Stata进阶课程和Python课程可在小鹅通平台查看,欢迎大家多多支持订阅!如需了解详情,可以通过课程链接(https://appbqiqpzi66527.h5.xiaoeknow.com/homepage/10)或课程二维码进行访问哦~引言
所谓Python函数就是指在开发程序时,为了提高代码编写的效率以及代码的重复利用率,把具有独立功能的代码块组织为一个小模块。作为一段可重用的代码,Python函数可以接受输入并返回输出,它构成了在编程语言中执行操作的基础。main函数作为Python函数的一种,同样具有以上的特点。下面就让我们一起了解一下main函数到底是什么,以及怎么用。
在Python中,main函数可以充当任何程序的执行点。定义Python编程中的main函数是启动程序执行的必要之处,因为它只在程序直接运行时执行,而不是在作为模块导入时执行。
通常,main函数的基本用法如下:
def main():
print("I love python")
if __name__=="__main__":
main()
在上面的示例中,可以看到我们首先定义了一个名为main() 的函数,用来打印“I love python”,然后判断_name_是否等于_main_,如果等于,则有打印,反之相反。现在我们运行该命令,结果如下:
该结果说明_name_等于_main_。
1. Python中的_main_
main函数可以充当任何程序的执行点。在Python中,程序一般是是从上而下逐行运行的,在上述的程序中,除了def后定义函数外的代码都会被认为是main函数中的内容从上而下执行。我们通过把所有必要的函数定义都写在代码文件的前面,最后通过执行以下的常见语句,来组织代码。
if __name__ == "__main__" :
if __name__ == "__main__"的意思是:只要你创建了一个模块,这个模块就有一个内置属性_name_生成,该模块的_name_的值取决于如何应用这个模块。当Python文件被直接运行时,if __name__ == "__main__"之下的代码块将被运行;当Python文件以模块形式被导入时,if __name__ == "__main__"之下的代码块不被运行。需要注意的是,如果我们直接在Python shell或终端上运行某些东西,则默认情况下,此条件语句恰好为True。
2. Python中的_name_变量
_name_是Python中的一个内置变量,是标识模块的名字的一个系统变量。它是每个 Python 模块必备的属性,但它的值取决于你是如何执行这段代码的。
3. Python执行模式
直接运行脚本
我们创建一个function.py,代码如下:
def function():
print("The value of the variable __name__ is " + __name__)
def main():
function()
if __name__ == "__main__":
main()
当我们将以上程序作为脚本运行时,变量的值_name_设置为_main_,输出结果为:
作为模块运行
同样,我们可以将Python文件作为模块运行。为此,我们必须将此文件导入另一个Python程序。在与function.py文件相同的目录中创建一个新的文件test.py,将文件funvtion.py导入其中,运行结果为:
import function as f
f.function()
当Python模块或包被导入时,_name_会被设为模块的名称。通常,显示的结果是Python文件本身的名称去掉.py后缀:
通过上述例子,我们可以发现当Python文件直接执行时,_name_的值为_main_;当Python文件被当作模块导入时,_name_的值为模块名。
通过上面的介绍,相信你已经基本了解main函数的使用方法,快来试试吧!
重磅福利!为了更好地服务各位同学的研究,爬虫俱乐部将在小鹅通平台上持续提供金融研究所需要的各类指标,包括上市公司十大股东、股价崩盘、投资效率、融资约束、企业避税、分析师跟踪、净资产收益率、资产回报率、国际四大审计、托宾Q值、第一大股东持股比例、账面市值比、沪深A股上市公司研究常用控制变量等一系列深加工数据,基于各交易所信息披露的数据利用Stata在实现数据实时更新的同时还将不断上线更多的数据指标。我们以最前沿的数据处理技术、最好的服务质量、最大的诚意望能助力大家的研究工作!相关数据链接,请大家访问:(https://appbqiqpzi66527.h5.xiaoeknow.com/homepage/10)或扫描二维码:
最后,我们为大家揭秘雪球网(https://xueqiu.com/)最新所展示的沪深证券和港股关注人数增长Top10。
对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!
往期推文推荐学会format,数据格式任你拿捏
【Python实战】游客最青睐的城市,你的家乡上榜了吗?
What’ new ? 速通Stata 18
【爬虫实战】Python爬取美食菜谱揭秘网络中心人物,你会是其中之一吗?考研之后,文科生需以“do”躬“do”!焕新升级!轻松获取港股、权证的历史交易数据爬虫俱乐部的精彩答疑---cntraveltime【爬虫俱乐部新命令速递】在Stata中与ChatGPT对话
用`fs`命令批量获取文件夹和不同文件夹下的excel文件
自然语言处理之实例应用JSON帮手,FeHelper
最新、最热门的命令这里都有!
Python实现微信自动回复告诉python,我想“狂飙”了——线程池与异步协程为爬虫提速高级函数——map()和reduce()Stata绘制条形图的进阶用法
快来看看武汉的房价是不是又双叒叕涨了!Python 常见内置函数(二)关于我们
微信公众号“Stata and Python数据分析”分享实用的Stata、Python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。
武汉字符串数据科技有限公司一直为广大用户提供数据采集和分析的服务工作,如果您有这方面的需求,请发邮件到statatraining@163.com,或者直接联系我们的数据中台总工程司海涛先生,电话:18203668525,wechat: super4ht。海涛先生曾长期在香港大学从事研究工作,现为知名985大学的博士生,爬虫俱乐部网络爬虫技术和正则表达式的课程负责人。
此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。
投稿邮箱:statatraining@163.com投稿要求:1)必须原创,禁止抄袭;2)必须准确,详细,有例子,有截图;注意事项:1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。2)邮件请注明投稿,邮件名称为“投稿+推文名称”。3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。